package com.fowo.api.model.patrol.manage;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 巡场管理 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class PatrolManageImportPo {

  /** 供应商编号 */
  @ExcelProperty("供应商编号")
  @Size(max = 50, message = "供应商编号长度不能超过50")
  private String supplierIdSupplierExistingFields;

  @ExcelIgnore
  @Schema(title = "供应商编号")
  private String supplierId;

  /** 供应商等级 */
  @ExcelProperty("供应商等级")
  @Size(max = 200, message = "供应商等级长度不能超过200")
  private String grade;

  /** 状态 */
  @ExcelProperty("状态")
  @EnumsString(
    value = { "待提交", "已完成" },
    message = "状态只能是“待提交”, “已完成”中的一个"
  )
  private String state;

  /** 巡场人员 */
  @ExcelProperty("巡场人员")
  @Size(max = 50, message = "巡场人员长度不能超过50")
  private String patrolPersonnel;

  /** 巡场时间 */
  @ExcelProperty("巡场时间")
  @DateString(message = "巡场时间不是有效的日期格式")
  private String patrolTime;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remarks;

  /** 良品率 */
  @ExcelProperty("良品率")
  @DecimalString(message = "良品率小数格式不正确", label = "良品率")
  private String goodQuantity;

  /** 进度 */
  @ExcelProperty("进度")
  @DecimalString(message = "进度小数格式不正确", label = "进度")
  private String schedule;

  /** 订单逾期次数 */
  @ExcelProperty("订单逾期次数")
  @IntegerString(
    message = "订单逾期次数数值格式不正确",
    label = "订单逾期次数",
    min = 0
  )
  private String orderOverdueNumber;

  /** 订单逾期天数 */
  @ExcelProperty("订单逾期天数")
  @IntegerString(message = "订单逾期天数数值格式不正确", label = "订单逾期天数")
  private String orderOverdueDays;
}
